package com.googlecode.archimedes.filegen.model;

import java.util.ArrayList;
import java.util.List;

import com.googlecode.archimedes.filegen.model.validator.Validator;

/**
 * <p>
 * Represents a Member that is an Enumeration.
 * </p>
 * 
 * <p>Created: Feb 17, 2006</p>
 * 
 * @author Erik Gustavson
 * @version $Id: EnumMember.java 2023 2006-02-18 01:16:42 +0000 (Sat, 18 Feb 2006) erik $
 */
public class EnumMember extends Member {

    private String      defaultValue = "null";
    private String      enumName     = null;
    private Enumeration enumeration  = null;

    /**
     * Returns the defaultValue.
     *
     * @return String value of defaultValue
     */
    public String getDefaultValue() {
        return defaultValue;
    }

    /**
     * Sets the defaultValue
     * @param defaultValue The defaultValue to set.
     */
    public void setDefaultValue(String defaultValue) {
        this.defaultValue = defaultValue;
    }

    /**
     * Returns the enumName.
     *
     * @return String value of enumName
     */
    public String getEnumName() {
        return enumName;
    }

    /**
     * Sets the enumName
     * @param enumName The enumName to set.
     */
    public void setEnumName(String enumName) {
        this.enumName = enumName;
    }

    /** 
     * @see com.tps.filegen.model.Member#getReturnType()
     */
    @Override
    public String getReturnType() {
        return getEnumName();
    }

    /** 
     * @see com.tps.filegen.model.Member#getValidators()
     */
    @Override
    public List<Validator> getValidators() {
        return new ArrayList<Validator>();
    }

    /**
     * Returns the enumeration.
     *
     * @return Enumeration value of enumeration
     */
    public Enumeration getEnumeration() {
        return enumeration;
    }

    /**
     * Sets the enumeration
     * @param enumeration The enumeration to set.
     */
    public void setEnumeration(Enumeration enumeration) {
        this.enumeration = enumeration;
    }
}
